<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
<style>
    div.circular{
        width: 100px;height: 100px;
        background: red; border-radius: 50%;
        margin-top: 20px; text-align: center;
        line-height: 100px; color: #fff;
    }
    .bounce-enter-active{ animation: Ami .5s;}
    .bounce-leave-active{ animation: Ami .5s;}
@keyframes Ami{
    0%{transition: scale(0); background: red;}
    20%{transition: scale(1); background: blue;}
    50%{transition: scale(1.5); background: blueviolet;}
    100%{transition: scale(1); background: blue;}
}
</style>
<script src="./vue.js"></script>
</head>
<div id="app">
    <button @click="show=!show"> open/hide</button>
       <transition name="bounce">
<div class="circular" v-if="show"> OoO </div>
       </transition>
</div>
<script>
    var vm = new Vue({
        el:'#app',
        data:{ show:true}
    })
    </script>
<body>
    
</body>
</html>